package cn.hy.机考.part04;

import java.util.Scanner;

/**
 * @author hy
 * 三十八、取字符串的所有整数最小和
 * 输入字符串 s，输出 s 中包含所有整数的最小和
 * 说明:字符串 s，只包含 a-z A-Z ± ;
 * 合法的整数包括:
 * 1) 正整数 一个或者多个 0-9 组成，如 0 2 3 002 102
 * 2)负整数 负号 - 开头，数字部分由一个或者多个 0-9 组成
 * bb1234aa
 * 输出:10
 * bb12-34aa
 * 输出:-31
 */
public class Demo38 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        sc.close();
        solution(s);
    }

    private static void solution(String str) {
        int sum = 0;
        char[] chars = str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char aChar = chars[i];

            if (Character.isDigit(aChar)) {
                sum += Character.digit(aChar, 10);
            }
            if (aChar == '-') {
                i++;
                int startIndex = i;
                while (i < str.length() && Character.isDigit(chars[i])) {
                    i++;
                }
                String substring = str.substring(startIndex, i);
                if (substring.length() > 0) {
                    sum -= Integer.parseInt(substring);
                }
                i = i - 1;// 处理 while 循环的位置 i++ 回退一步
            }
        }
        System.out.println(sum);
    }
}
